<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //筛选数组
        //将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素筛选出来，放入新的数组
        //先声明一个新的数组存放用于存放新数据
        //遍历原来的数组，找出大于等于10的元素
        //依次追加给新的数组newArr
        // var arr = [2,0,6,1,77,0,52,0,25,7];
        // var newArr = [];
        // for(var i = 0; i <= arr.length; i++){
        //     if(arr[i] >= 10){
        //         newArr[i]=arr[i]  //arr[4]是77，也就是newArr[4]是77，前面的是空的
        //     }
        // }
        // console.log(newArr); //此时新数组中的前四个值是空的，然后是77，然后是空的，然后是52，然后是空的，然后是25
        //首先i等于0，此时i小于等于10
        //2不大于10
        //i等于1，此时i小于等于10
        //0不大于10
        //i等于2，此时i小于等于10
        //6小于10
        //i等于3，此时i小于等于10
        //1小于10
        //i等于4,此时i小于等于10
        //77大于10，此时77进入新的数组中
        //依次类推，就出现之前的问题

        //方法一、可以在声明一个变量，根据这个变量来存放
        // var arr = [2,0,6,1,77,0,52,0,25,7];
        // var newArr = [];
        // var j = 0;
        // for(var i = 0;i<= arr.length;i++){
        //     if(arr[i] >= 10){
        //         //新数组应该从0开始，依次递增
        //         newArr[j] = arr[i]  //arr[4] = newArr[0]
        //         j++  //j++是关键
        //     }
        // }
        // console.log(newArr);

        //方法二、通过newArr.length
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        //刚开始newArr.length就是0
        // for( var i = 0;i <= arr.length; i++){
        //     if(arr[i] >= 10){
        //         //新数组索引号应该从0开始，依次递增
        //         newArr[newArr.length] = arr[i]
        //     }
        // }
        // console.log(newArr);

        //2、实例
        //将数组[2,0,6,1,77,0,52,0,25,7]去重0
        // var arr = [2,0,6,1,77,0,52,0,25,7];
        // var newArr = [];
        // for(var i = 0; i < arr.length; i++){
        //     if(arr[i] !== 0){
        //         newArr[newArr.length] = arr[i]
        //     } 
        // }
        // console.log(newArr);
        //3、数组反转
        //将数组['red','green','blue','pink','purple']的内容反转过来
        //声明一个新的数组
        //根据数组中元素的索引号来实现数组元素的获取
        //把旧数组中的索引号第四个取过来(arr.lenght-1),给新数组索引号第0个元素(arr.length)
        //然后采取递减的方式取第三个，依次类推i--
        // var arr = ['red','green','blue','pink','purple'];
        // var newArr = [];
        // for(var i = arr.length-1; i >= 0; i--){
        //     newArr[newArr.length] = arr[i]
        // }
        // console.log(newArr);

        //4、数组排序之冒泡排序
        //通过双重for循环实现
        //外层for循环管的是趟数
        //内层for循环管的是交换的次数
        var arr = [5,4,3,2,1]
        for(var i = 0; i <= arr.length-1; i++){  //外层循环趟数
            for( var j = 0; j <= arr.length - i - 1;j++){
                //内部交换两个变量的值
                if(arr[j] > arr[j+1]){
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }

        }
        console.log(arr);


    </script>
</body>
</html>